[codex] Migrate server source control Effect services#3186
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
🚀 Expo continuous deployment is ready!
|
ApprovabilityVerdict: Approved Mechanical migration of Effect.js service patterns - moves interface definitions inline, updates import styles, and adjusts factory patterns. No runtime behavior changes; all logic remains identical with only structural reorganization. You can customize Macroscope's approvability policy. Learn more. |
2b744a3 to
3d73bd6
Compare
Dismissing prior approval to re-evaluate 3d73bd6
3d73bd6 to
4d0d742
Compare
Dismissing prior approval to re-evaluate 4d0d742
4d0d742 to
265cc07
Compare
Dismissing prior approval to re-evaluate 265cc07
265cc07 to
73a92f3
Compare
Dismissing prior approval to re-evaluate 73a92f3
a20b601 to
90cda0f
Compare
90cda0f to
4141043
Compare
Dismissing prior approval to re-evaluate 4141043
Co-authored-by: codex <codex@users.noreply.github.com>
4141043 to
8c8a3c9
Compare
What changed
Context.Servicecontracts*Shapereferences withService["Service"]across in-scope implementations, consumers, and testsmakeeffects and canonicalexport const layer = Layer...values for concrete servicesmakeVcsDriverShape,makeVcsDriver, andvcsLayerVcsDriverandSourceControlProvideras polymorphic ports rather than inventing concrete constructorsGitWorkflowServiceShapecompatibility alias and updated its remaining orchestration type reference directlyWhy
This aligns these server domains with the Effect module layout used by the relay/client-runtime target state and removes duplicate service-shape declarations.
Scope
Orchestration behavior remains out of scope for #2829; its single compatibility type reference is mechanically updated so no standalone service-shape alias remains. MCP and integration-harness modules are otherwise untouched.
Validation
vp check— passes with 0 errors and 20 pre-existing warningsvp run typecheck— 15/15 tasks passedNote
Migrate server source control and VCS Effect services to namespace imports and
Effect.gen*Shapeinterfaces across all source control and VCS services, inlining service shapes directly intoContext.Servicegeneric parameters.Effect.fn("name")toEffect.gen, and passes the resultingmakeeffect directly toLayer.effectinstead of invokingmake().import * as GitManager) and updates all type references fromGitManagerShapetoGitManager.GitManager["Service"]throughout production code and tests.VcsStatusBroadcaster.updateCachedStatusnow publishes a unified'snapshot'event containing both local and remote fields instead of separate events, which is a behavioral change for subscribers.Macroscope summarized 8c8a3c9.
Note
Low Risk
Mechanical refactor with tests passing; behavior should be unchanged aside from typing and layer wiring conventions.
Overview
This PR standardizes server git, VCS, and source-control modules on the same Effect service layout used elsewhere: inline
Context.Servicecontracts, exportedmakeasEffect.gen, andLayer.effect(Service, make)without callingmake().Service contracts: Standalone
*Shapeinterfaces are removed; method types live on eachContext.Serviceclass and consumers/tests useSomeService["Service"]instead of*Shape.Factories and wiring:
makeGitManager,makeGitHubCli, and similarEffect.fnfactories becomemakeviaEffect.gen.GitManagerreturnsGitManager.of(...). Registry/provider code composes providers withyield* GitHubSourceControlProvider.make(the Effect value) rather thanmake().Imports: Namespace imports (
import * as GitVcsDriver) replace named service imports at boundaries; pure helpers use named imports (PR decode utilities, discovery helpers).ServerConfigmoves toimport * as ServerConfigwithlayerTestat the namespace root.Tests: Mocks and helpers updated for the new types; no orchestration/MCP scope in this diff.
Reviewed by Cursor Bugbot for commit 8c8a3c9. Bugbot is set up for automated code reviews on this repo. Configure here.